package exemple.DesignExample.repository;

import exemple.DesignExample.dao.CrudDao;
import exemple.DesignExample.model.Entity;

public class CrudRepositoryDao<TYPE extends Entity> extends RepositoryDao<TYPE> implements CrudDao<TYPE> {

    public CrudRepositoryDao() {}
    
    @Override
    public final void remove( TYPE entity ) {
        this.preRemove(entity);
        
        //Remove Entity
        
        this.postRemove(entity);
    }

    /** Hook Methods **/
    public void preRemove(TYPE entity) {}
    public void postRemove(TYPE entity) {}
}
